AIの開発方法は?学習するべきスキルから、実装例までまとめてみた
≪本気でAIを学びたい人におすすめのプログラミングスクール≫
・Aidemy (公式ページ:https://aidemy.net/)
Python特化型AI学習したい方向け
・キカガク(公式ページ:https://www.kikagaku.ai/)
最大70%!給付金をもらってAI人材を目指したい方向け
この記事を読んでわかること
- AI開発の概要
- 応用事例にはどんなものがあるのか
- 自分でAI開発をするにはどんな学習手順を踏めばいいのか
「AIや類似のシステムを作るのって、そもそも大学院とかの勉強しないとできないものじゃないの?」
実際、どこからがAIかという議論はありますが、簡単な自動化やデータ分析などは、最低限の学習をすることでできるようになります。
目次 (PRも含まれます)
AI開発の方法とは?
- 教師あり学習
- 教師なし学習
- 強化学習
- ディープラーニング
教師あり学習
教師あり学習とは、文字通り学習させるデータを与える側が、教師の様に「正解」となるデータを与えて学習させるものです。
例:画像を学習させる際に、その画像が「犬」であるという情報を与えて上で学習させる
教師なし学習
教師なし学習は、教師あり学習とは反対に、学習させるデータに正解を与えないで学習させるものです。
例:大量の画像データを学習させ、その画像の中から似ているものや傾向などを分析させる
強化学習
教科学習は、簡単にまとめると、「プログラムが与えられた環境での成果が最大化されるように学習をさせる」ように、報酬を設定し学習をさせていくことを指します。
- 車の自動運転
- 囲碁の自動プログラム
ディープラーニング
ディープラーニングは、「特徴量」をコンピュータ自身が自動的に抽出し学習できるようにし、人が特徴量を設定しなくても良くしたものです。
※特徴量とは、データの特徴や特性を定量的に表したものを指します。
ディープラーニングでは、大量のデータを学習させ、人間が特徴量を指定必要がないため、人が特徴量を認識しづらいもの使われます。
AI開発の応用事例
- 大学生のTwitter利用に関する定量分析
- Twitter におけるコミュニケーションの社会ネットワーク分析
- Pythonを使ったTwitter上の感情分析
①大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
・ツイッターで一橋大学生のアカウントを収集し、そのうちフォロワー数、フォロー数、ツイート数、RT数、ツイート時間帯、デバイス、ツイートの形態素解析を行い、K-means法を用いて分類
・分類されたデータをもとにユーザー層の特性を分析をする
※ここでは形態素分析でデータを分析できる形まで分割し、K-means法で似た性質をもつデータを分類しています。
結果
- Twitterで情報発信をするグループ(情報発信クラスタ)と友人間での利用をするグループ(お友達クラスタ)に分けることができる
- Twitterで情報発信をするクラスタは、PCからTwitterを利用し、RT数は多く、リプライ数、相互フォロワー数は少ない傾向にある
- Twitterを友人間での利用をするグループは、スマホからTwitterを利用し、リプライ数、相互フォロー率が高い
必要な知識
上記の内容を行うためには、以下の2つを学習することが必要です。
- 教師なし学習(k-means法)
- 自然言語処理
この研究では、あらかじめ答えのあるデータを人が入力するのではなく、データをAIに分析させて人間がどんな特徴があるかを見極める必要があるため、教師なし学習の知識が必要になります。
②Twitter におけるコミュニケーションの社会ネットワーク分析
続いての事例は、Twitter上でどんな映画に関する口コミがリツイートされやすいのかをまとめた論文です。
概要:詳細はこちら
- マーケティングにおける対面での口コミだけではなく、インターネット上での口コミに関する分析
- リツイートの分析を通して、どのようなツイートがリツイートされやすいのかを分析する
- 分析の際には、誰が発信しているのかなども考慮される
結果
結果としては、拡散されやすいツイートの内容と発信者の情報(プロフィールの内容)に関しては以下のような情報が分かりました。
・「RT(拡散願い)を含む」ものは実際に RT される傾向がある
・「値引き情報」は RT 回数への影響がない
・「キャンペーン、プレゼント情報」「試写会、トークイベント開催」「公開日、公開時間」「出演者情報」「監督、ストーリ、主題歌情報」などはRT回数に正の相関がある
逆にプロフィールの内容に関しては以下が分かりました。
・「映画関係者(監督など)」「タレントボット」「作家、編集者など」「映画ニュース、ポータル」からの情報はより RT される傾向がある。
必要な知識
- 教師あり学習
- 自然言語処理
③Pythonを使ったTwitter上の感情分析(Twitter Sentiment Analysis in Python using Tweepy and TextBlob)
概要
- Twitter上から特定のキーワードに関するツイートを取ってくるスクリプトを書く
- 集めたいキーワードと取ってきたいデータの量を指定する
- データを分析して、キーワードに関しての感情のグラフを作る(ポジティブ、ネガティブ、特に何も思わない)
結果
備考
この動画では、TweepyやTextBlobという文字データを分析するためのPythonのライブラリ(機能)が使用されています。
AI開発で用いる言語は?RとPython
AI開発を行う際に、よく扱われる二大プログラミング言語としては、RとPythonがあります。
では、それぞれどのような特徴があり、初めてAIについて学習をする際にはどちらを学習すべきなのでしょうか?
R言語とは?
そのため、統計をする上での演算に関わる機能が充実しているのが特徴です。
Pythonでは、Webサービスなどを開発するライブラリなども充実していますが、Rにはほとんどありません。
Pythonとは?
Pythonでは、統計だけではなく以下のような目的で使うことが可能です。
- Webサービス開発
- 機械学習
- ディープラーニング
前述した事例にもあるように、あらかじめ作られているライブラリ(機能)が充実しています。
AI開発のために学習するべき内容
ここからは、初心者がAI開発を体験する上で必要な学習ステップをご紹介します。
- Pythonの環境構築の方法
- Pythonの基礎
- 数学の学習
- 機械学習・ディープラーニングの基礎
1. Pythonの開発環境:Microsoft Azure Notebook とは
データ分析では、Jupyter Notebookという、ノート形式でプログラミングを実行できる環境を使うことが多いです。
Web上で無料で使えるものですが、
- Google Colaboratory
- Micrrosoft Azure Notebook
を利用するケースが多いです。
Google Colaboratoryは、Googleが提供しているJupyter Notebook。
2. Pythonの基礎
機械学習を行うためにも、Pythonの基礎的なプログラミング言語を理解しておく必要があります。
具体的には以下を学習する必要があります。
- 変数
- 四則演算
- if文,
- white文
- class、関数などの概念
上記は、Progateを利用して基礎を学習していくのがおすすめです。
3. 数学
実際に動くものを作る場合は、そこまで数学の知識は必要ありませんが、性能を強化したり、説明責任を求められる場合には数学の知識が不可欠です。
機械学習、ディープラーニングを勉強する場合、前提として、
- 統計学
- 微分・積分
などの数学的知識が必要になります。
Udemyのおすすめのコースとしては、これまで35,000人以上受講し高い評価を得ているキカガクの以下の2つのコースがお勧めです。
- Python&機械学習入門
- 脱ブラックボックスコース
※実は今、通常であれば1つのコースで15,000円ほどする上記のコースが、キカガクの無料体験をした方限定で無料になっています。
4. 機械学習・ディープラーニングの基礎
機械学習やディープラーニングを学習する場合、それぞれに対して複数のメソッドがあります。
機械学習・ディープラーニングの基礎などに関しても、本などで独学することは可能ですが、オンライン学習サービスを使うことで動画で効率的に学習をすることができます。
お勧めとしては、Aidemyの無料体験で以下の2つのコースを学習するのがお勧めです。
- 機械学習概論
- ディープラーニング基礎
登録してすぐに動画を見始めることができるので、基礎だけ動画でわかりやすく学習してみたい!という方は、ぜひチェックしてみてください。
本格的にAI開発や機械学習を学ぶなら?
ここまで、簡単な機械学習やAIを用いた活用事例などを紹介してきました。
理由としては、以下があります。
- そもそも学習難易度がかなり高い
- 周りに質問できる人がおらず、エラーに何日間もかけてしまう
- 学習の全体像が見えておらず、学習方法があっているのかで悩んでしまう
なので、本格的に学びたい方は、スクールなどにいって時間節約しつつ、効率的に学習を進めるのがおすすめです。
料金 | 学習スタイル | 学習期間 | 主に学べる言語・ライブラリ | おすすめな人 | スクールの特徴 | |
キカガク AI人材育成コース |
792,000円(税込)→237,600円(税込) ※70%の給付金あり |
オンライン | 6ヶ月 | HTML/CSS/JavaScript/Flask/Pandas/Django/Numpyなど | 最大70%の給付金をもらいながら お得にAI人材を目指したい人 |
質の高い学習コンテンツが豊富 (E資格認定講座あり) |
Aidemy AIアプリ開発コース |
480,000(税抜)円〜 | オンライン | 3ヶ月〜9ヶ月 | HTML/CSS/Python/Numpy/Pandas/TensorFlow/Keras/scikit-learnなど | AI特化型のスクールでAIについて 本格的に仕事にしたいという人 |
AIを学べるスクールでは最も ハイレベルなプログラミングスクール |
Aidemy
Aidemy(公式):https://premium.aidemy.net/
Aidemyは、AIに特化した東大発のプログラミングスクールです。
東証一部上場企業のAI研修などもおこなっている、日本最大級のAI教育サービスを提供しています。
AIを本格的に学べるプログラミングスクールの中でも、非常にハイレベルで高品質のスクールです。
- ある程度Web系のプログラミングを学んでいる
- AIについて本格的に仕事にしたいと思っている
Aidemyでは、Pythonに特化した講座を8種類用意しています。
- AIアプリ開発講座
- データ分析講座
- 自然言語処理講座
- 実践データサイエンス講座
- E資格対策講座
- 機械学習マスター講座
- ビジネスAI対策講座
- 組織を変えるDX講座
各コースの金額は以下の通りです。
3ヶ月 | 6ヶ月 | 9ヶ月 | |
AIアプリ開発講座 | ¥528,000 | ¥858,000 | ¥1,078,000 |
データ分析講座 | ¥528,000 | ¥858,000 | ¥1,078,000 |
自然言語処理講座 | ¥528,000 | ¥858,000 | ¥1,078,000 |
実践データサイエンス講座 | ¥528,000 | ¥858,000 | ¥1,078,000 |
E資格対策講座 | ¥327,800 | – | – |
機械学習マスター講座 | ¥528,000 | ¥858,000 | ¥1,078,000 |
ビジネスAI対策講座 | ¥330,000 | – | – |
組織を変えるDX講座 | ¥330,000 | – | – |
引用:https://premium.aidemy.net/(2023年4月時点。金額はすべて税込価格です)
また、雇用保険の支給要件を満たしている方であれば、以下4つの講座で教育訓練給付制度(専門実践教育訓練)を利用できます。
- AI アプリ開発講座
- データ分析講座
- 自然言語処理講座
- E資格対策講座
対象者であれば、実際に支払った受講料のうち最大70%を支給してもらえる制度です。
Aidemyでは挫折しにくいサポートに加え、一部の講座では残りの受講期間を有意義に使える学び放題システムを利用することもできます。
丁寧なサポートを受けつつ、AIに特化した講座を受けたい方が学びやすいスクールです。
国の給付金を利用すれば安く受講できるので、興味のある方は対象者かどうか一度確認してみましょう。
キカガク
キカガク公式: キカガクは、給付金をもらってお得に学習しながらAI人材を目指すことができる、完全オンラインのプログラミングスクールです。 引用:キカガク公式 キカガクの講座は、Udemyでも高い評価を得ており、1つのコースで35,000人以上が受講している講座もあります。 実際、受講した方の生の声を見てみても、非常にポジティブなものばかりでした。(受講された方のレビューはこちらから) ※また、キカガクは一度スクールに申し込むと、全ての講座を無期限で受講することができるのでかなりお得です。 キカガクでは、無料体験を申し込むだけでUdemy上で高い評価を得たコースを実際に体験することができます。 受講できるコースは以下の2つで、合計20時間分の学習動画無料になります。 整理すると、キカガクは以下の方におすすめです。 ※キカガクの講座の無料体験は、3分ほどですぐに学習を始めることができます。
https://www.kikagaku.ai/コースの特徴
オンライン動画学習サービス、Udemyでも絶賛された高品質の学習コンテンツ
実際の講座を受講前に体験することができる
まとめ
この記事では、AI開発の事例や学習方法などについて解説してきましたがいかがだったでしょうか。
本記事の重要ポイントまとめ
- Pythonなどのフレームワークを利用することで、初心者でも比較的にAI開発を体験することができる
- 数学の知識や、機械学習の基礎などは学習サービスをうまく活用することで効率的に学習することができる